import java.util.Stack;

public class Test {
    //栈的压入、弹出序列
    public boolean IsPopOrder (int[] pushV, int[] popV) {
        Stack<Integer> stack = new Stack<>();
        int j = 0;
        for (int i = 0; i < pushV.length; i++) {
            //将pushV的数据一次入栈
            stack.push(pushV[i]);
            //如果栈顶的数据和popV的j下标位置的数据相等
            //就出栈。j++
            while(!stack.empty() && j < popV.length
                    && stack.peek() == popV[j]){
                //要判断栈空
                stack.pop();
                j++;
            }
        }
        //如果栈为空，则代表可以
        //如果栈不为空，则不可以
        return stack.empty();
    }
}
